A packet network generally comprises an array of switching nodes which are interconnected by transmission links. A typical connection involves the transmission of a packet stream from a source node to a destination node via one or more intermediate nodes and via one or more of the connecting links. The packet stream of each connection arrives at the corresponding source node from a packet source such as a unit of customer premises equipment. The packet stream is illustratively delivered to destination equipment after reception at the destination node.
Congestion arises in a packet network for a variety of reasons. One way congestion arises is when sources of packets overload the network by transmitting too many packets into the network. Congestion also arises because particular sources are not smooth and transmit packets into the network in bursts.
In a connection oriented packet switching network, congestion control is generally achieved by allocating, or reserving, transmission capacity for each connection on the appropriate links before the connection is setup. Such capacity allocation might be done based on the average rates of the connections (whereby statistical multiplexing is utilized) or based on the peak rates of the connections (whereby no statistical multiplexing is utilized).
Neither the peak-rate capacity reservation approach nor the average-rate capacity reservation approach totally eliminates congestion in a packet switching network.
The reason for this is packet clustering. Packet clustering arises in a packet switching network as follows. Typically, each node in a packet switching network utilizes a FIFO queuing strategy. This means that packets arriving at a node and destined for a specific outgoing link are queued and served by the outgoing link on a first-in, first-out basis. Sometimes, a packet from one particular connection is queued while packets from one or more other connections are served by the particular outgoing link. Very often, this causes packets from the particular connection to cluster together. This clustering phenomena can lead to congestion in a conventional packet switching network. When clustering occurs, buffers at the nodes may fill up. When the buffers at a node fill up, transmission to the node may be stopped resulting in congestion. If this happens at a plurality of adjacent nodes, packet network "gridlock" results. Alternatively, packets may be lost due to buffer overflow, depending on the size of the buffers. It should be noted that packet clusters can arise whether capacity is allocated based on the peak-rate or the average-rate of connections and can arise even if the packet streams of the connections are initially smooth.
In view of the foregoing, it is an object of the present invention to provide a traffic regulation and packet transmission scheme for packets in a connection-oriented packet network which eliminates packet clustering so as to provide congestion free communication without packet losses due to overflowing buffers at the network nodes.